package org.jeecgframework.web.system.pojo.base;

import java.math.BigDecimal;
import java.util.Date;
import java.lang.String;
import java.lang.Double;
import java.lang.Integer;
import java.math.BigDecimal;
import javax.persistence.*;
import javax.xml.soap.Text;
import java.sql.Blob;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.jeecgframework.poi.excel.annotation.Excel;

/**   
 * @Title: Entity
 * @Description: 技术支持完工单
 * @author onlineGenerator
 * @date 2018-03-20 17:01:40
 * @version V1.0   
 *
 */
@Entity
@Table(name = "CBS_TECHOLOGY_AGREE_REPORT", schema = "")
@SuppressWarnings("serial")
public class CbsTechologyAgreeReportEntity implements java.io.Serializable {
	/**主键*/
	private String id;
	/**报告单类型*/
	@Excel(name="报告单类型")
	private Integer reportCategory;
	/**服务单ID*/
	@Excel(name="服务单ID")
	private CbsServiceEntity serviceId;
	/**上门服务次数*/
	@Excel(name="上门服务次数")
	private String sceneTotal;
	/**预计上门时间*/
	@Excel(name="预计上门时间")
	private Date orderTime;
	/**实际上门时间*/
	@Excel(name="实际上门时间")
	private Date actualTime;
	/**服务完工时间*/
	@Excel(name="服务完工时间")
	private Date finishTime;
	/**影院名称*/
	@Excel(name="影院名称")
	private String cinemaName;
	/**所属院线名称*/
	@Excel(name="所属院线名称")
	private String typeIntheaterName;
	/**所在省*/
	@Excel(name="所在省")
	private TSTerritory sheng;
	/**所在市*/
	@Excel(name="所在市")
	private TSTerritory shi;
	/**详细地址*/
	@Excel(name="详细地址")
	private String address;
	/**联系人姓名*/
	@Excel(name="联系人姓名")
	private String contactsName;
	/**电话*/
	@Excel(name="电话")
	private String phone;
	/**放映机序列号*/
	@Excel(name="放映机序列号")
	private String sn;
	/**放映机型号*/
	@Excel(name="放映机型号")
	private ZyEquipmentTypeEntity equipmentType;
	/**派单要求*/
	@Excel(name="派单要求")
	private String assignDes;
	/**现场附件*/
	@Excel(name="现场附件")
	private ZyFileLogEntity finishFile;
	/**现场服务描述*/
	@Excel(name="现场服务描述")
	private String serviceDes;
	/**备注*/
	@Excel(name="备注")
	private String memo;
	/**状态*/
	@Excel(name="状态")
	private Integer status;
	/**创建人名称*/
	private String createName;
	/**创建人登录名称*/
	private String createBy;
	/**创建日期*/
	private Date createDate;
	/**更新人名称*/
	private String updateName;
	/**更新人登录名称*/
	private String updateBy;
	/**更新日期*/
	private Date updateDate;
	
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  主键
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=36)
	public String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  主键
	 */
	public void setId(String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  报告单类型
	 */
	@Column(name ="REPORT_CATEGORY",nullable=true,length=1)
	public Integer getReportCategory(){
		return this.reportCategory;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  报告单类型
	 */
	public void setReportCategory(Integer reportCategory){
		this.reportCategory = reportCategory;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  服务单ID
	 */
	@JsonIgnore
	@NotFound(action = NotFoundAction.IGNORE)
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name ="SERVICE_ID", nullable = true)
	public CbsServiceEntity getServiceId(){
		return this.serviceId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  服务单ID
	 */
	public void setServiceId(CbsServiceEntity serviceId){
		this.serviceId = serviceId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  上门服务次数
	 */
	@Column(name ="SCENE_TOTAL",nullable=true,length=4)
	public String getSceneTotal(){
		return this.sceneTotal;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  上门服务次数
	 */
	public void setSceneTotal(String sceneTotal){
		this.sceneTotal = sceneTotal;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  预计上门时间
	 */
	@Column(name ="ORDER_TIME",nullable=true,length=32)
	public Date getOrderTime(){
		return this.orderTime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  预计上门时间
	 */
	public void setOrderTime(Date orderTime){
		this.orderTime = orderTime;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  实际上门时间
	 */
	@Column(name ="ACTUAL_TIME",nullable=true,length=32)
	public Date getActualTime(){
		return this.actualTime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  实际上门时间
	 */
	public void setActualTime(Date actualTime){
		this.actualTime = actualTime;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  服务完工时间
	 */
	@Column(name ="FINISH_TIME",nullable=true,length=32)
	public Date getFinishTime(){
		return this.finishTime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  服务完工时间
	 */
	public void setFinishTime(Date finishTime){
		this.finishTime = finishTime;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  影院名称
	 */
	@Column(name ="CINEMA_NAME",nullable=true,length=200)
	public String getCinemaName(){
		return this.cinemaName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  影院名称
	 */
	public void setCinemaName(String cinemaName){
		this.cinemaName = cinemaName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  所属院线名称
	 */
	@Column(name ="TYPE_INTHEATER_NAME",nullable=true,length=50)
	public String getTypeIntheaterName(){
		return this.typeIntheaterName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  所属院线名称
	 */
	public void setTypeIntheaterName(String typeIntheaterName){
		this.typeIntheaterName = typeIntheaterName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  所在省
	 */
	@JsonIgnore
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name ="SHENG", nullable = true)
	@NotFound(action = NotFoundAction.IGNORE)
	public TSTerritory getSheng(){
		return this.sheng;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  所在省
	 */
	public void setSheng(TSTerritory sheng){
		this.sheng = sheng;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  所在市
	 */
	@JsonIgnore
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name ="SHI", nullable = true)
	@NotFound(action = NotFoundAction.IGNORE)
	public TSTerritory getShi(){
		return this.shi;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  所在市
	 */
	public void setShi(TSTerritory shi){
		this.shi = shi;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  详细地址
	 */
	@Column(name ="ADDRESS",nullable=true,length=200)
	public String getAddress(){
		return this.address;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  详细地址
	 */
	public void setAddress(String address){
		this.address = address;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  联系人姓名
	 */
	@Column(name ="CONTACTS_NAME",nullable=true,length=50)
	public String getContactsName(){
		return this.contactsName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  联系人姓名
	 */
	public void setContactsName(String contactsName){
		this.contactsName = contactsName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  电话
	 */
	@Column(name ="PHONE",nullable=true,length=50)
	public String getPhone(){
		return this.phone;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  电话
	 */
	public void setPhone(String phone){
		this.phone = phone;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  放映机序列号
	 */
	@Column(name ="SN",nullable=true,length=50)
	public String getSn(){
		return this.sn;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  放映机序列号
	 */
	public void setSn(String sn){
		this.sn = sn;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  放映机型号
	 */
	@NotFound(action = NotFoundAction.IGNORE)
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name ="EQUIPMENT_TYPE")
	@JsonIgnore
	public ZyEquipmentTypeEntity getEquipmentType(){
		return this.equipmentType;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  放映机型号
	 */
	public void setEquipmentType(ZyEquipmentTypeEntity equipmentType){
		this.equipmentType = equipmentType;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  派单要求
	 */
	@Column(name ="ASSIGN_DES",nullable=true,length=32)
	public String getAssignDes(){
		return this.assignDes;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  派单要求
	 */
	public void setAssignDes(String assignDes){
		this.assignDes = assignDes;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  现场附件
	 */
	@JsonIgnore
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name ="FINISH_FILE", nullable = true)
	@NotFound(action = NotFoundAction.IGNORE)
	public ZyFileLogEntity getFinishFile(){
		return this.finishFile;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  现场附件
	 */
	public void setFinishFile(ZyFileLogEntity finishFile){
		this.finishFile = finishFile;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  现场服务描述
	 */
	@Column(name ="SERVICE_DES",nullable=true,length=200)
	public String getServiceDes(){
		return this.serviceDes;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  现场服务描述
	 */
	public void setServiceDes(String serviceDes){
		this.serviceDes = serviceDes;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  备注
	 */
	@Column(name ="MEMO",nullable=true,length=200)
	public String getMemo(){
		return this.memo;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  备注
	 */
	public void setMemo(String memo){
		this.memo = memo;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  状态
	 */
	@Column(name ="STATUS",nullable=true,length=1)
	public Integer getStatus(){
		return this.status;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  状态
	 */
	public void setStatus(Integer status){
		this.status = status;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人名称
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人名称
	 */
	public void setCreateName(String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人登录名称
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人登录名称
	 */
	public void setCreateBy(String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  创建日期
	 */
	@Column(name ="CREATE_DATE",nullable=true,length=20)
	public Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  创建日期
	 */
	public void setCreateDate(Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人名称
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人名称
	 */
	public void setUpdateName(String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人登录名称
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人登录名称
	 */
	public void setUpdateBy(String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  更新日期
	 */
	@Column(name ="UPDATE_DATE",nullable=true,length=20)
	public Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  更新日期
	 */
	public void setUpdateDate(Date updateDate){
		this.updateDate = updateDate;
	}
}
